package com.abcd.collection;

import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Vector;

/**
 * @description: List和Set中Iterator的next()区别
 * @author: Liu
 * @create: 2021-08-19
 **/
public class IteratorNext {

    public static void main(String[] args) {
        // ArrayList / LinkedList
        Collection vector = new Vector();
        vector.add("This");
        vector.add("is");
        vector.add("W");

        Iterator iterator = vector.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }

        Collection set = new HashSet();
        set.add("This");
        set.add("is");
        set.add("W");

        Iterator iteratorSet = set.iterator();
        while (iteratorSet.hasNext()) {
            System.out.println(iteratorSet.next());
        }

        /**
         * 从打印的结果可以看出来，在List对象中第一次hasNext()返回的是第一个元素
         * Set中第一次next()返回的是下一个元素，set结尾执行hasNext()会返回true,执行next()会将第一个元素返回
         */
    }

}